The present invention relates to a method and apparatus to provide non-Display Data Channel (DDC) monitor characteristics to computer system software.
Presently, personal computers utilize monitors which may be either DDC or non-DDC compatible. A DDC monitor includes a storage device, such as an EEPROM, which stores information regarding the capabilities of the monitor, such as its resolution and refresh rates. This information is stored in a data format called an EDID (Extended Display Identification). The EDID is a standard data format developed by VESA (Video Electronics Standards Association) to promote greater monitor/host computer compatibility. At the present time, the current EDID data format is that described in Appendix D of Display Data Channel (DDC.TM.) Standard, version 1.0 revision 0, dated Aug. 12, 1994, the disclosure of which is expressly incorporated herein by reference. A non-DDC monitor does not have such information present.
In a personal computer utilizing a DDC monitor, system software accesses the DDC information stored in the monitor. System software also determines the video controller installed in the system. A video controller is used to control and configure the video data sent to a monitor. The system software then compares the refresh rate obtained from the DDC monitor to the capabilities of the video controller to determine the proper refresh rate at which to set the video controller, which in turn controls the monitor.
At the present time, if a personal computer utilizes a non-DDC monitor, information regarding the monitor's capabilities may be determined using a program which prompts the user for this information. Alternately, the system software may test the monitor to determine its characteristics. The system software then determines the maximum refresh rate that is compatible with the video controller and sets the video controller to that refresh rate. Alternately, the program may allow the user to specify non-maximum refresh rates for each screen size. At the present time, these are the only methods available for users to set refresh rates.
Among the drawbacks to the present scheme for handling non-DDC monitors is that its implementation requires many manufacturer-specific subfunctions and BIOS (Basic Input/Output System) calls to operate. BIOS is the firmware in a personal computer that interfaces directly with the hardware to perform input/output and other low-level functions. As a result, a single program must have intimate knowledge of each video subsystem it is capable of controlling/configuring. This makes it difficult for the program to support video add-on adapter cards. It would therefore be desirable to create a method to provide non-DDC monitor characteristics to system and application software using a standard BIOS call.